package com.datastructure.test.removenums;

import java.util.ArrayList;

public class RemoveNums {

    public static void main(String[] args) {
        RemoveNums removeNums = new RemoveNums();
        ArrayList<Integer> nums = new ArrayList<>();
        nums.add(1);
        nums.add(1);
        nums.add(1);
        nums.add(1);
        nums.add(2);
        nums.add(2);
        nums.add(2);
        nums.add(3);
        nums.add(4);
        nums.add(4);
        nums.add(4);
        nums.add(4);
        int removenums = removeNums.removenums(nums);
        System.out.println(removenums);
    }

    public int removenums (ArrayList<Integer> nums) {
        // write code here
        if(nums==null){
            return 0;
        }
        int size = nums.size();
        if(size==1||size==2){
            return size;
        }
        int time=1;
        int lastValue = nums.get(0);
        for (int i = 1; i < size; i++) {
            if(nums.get(i)==lastValue){
                time++;
                if(time>=3){
                    nums.remove(i);
                    size--;
                    i--;
                }
            } else {
                lastValue=nums.get(i);
                time=1;
            }
        }
        return nums.size();
    }

}
